package com.shrct.businessprocess.product;

import com.shrct.businessprocess.product.RCProductEntry;
import com.shrct.businessprocess.product.RCProductEvent;
import com.shrct.businessprocess.product.impl.RCIdentifiableProductEntryImpl;
import com.shrct.businessprocess.product.proxy.RCIdentifiableProductEntryProxy;
import edu.fudan.mylang.pf.EntityImplementation;
import java.util.Collection;
import java.util.Date;

@EntityImplementation(implementBy = RCIdentifiableProductEntryImpl.class)
public interface RCIdentifiableProductEntry extends RCProductEntry {
  public abstract String getEntityName();
  
  public abstract Integer getCount();
  
  public abstract RCIdentifiableProductEntry setCount(final Integer count);
  
  public abstract Collection<? extends RCProductEvent> getEvents();
  
  public abstract Date getInstockDate();
  
  public abstract Iterable<RCProductEntry> allRelatedProducts();
  
  public abstract RCIdentifiableProductEntryProxy toProxy();
}
